<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>SSF.OS.OSPF: Forwarding Table Content Test</title>
</head>

<body bgcolor="white">

<h2>SSF.OS.OSPF Forwarding Table Content Test</h2>


<h3>Description</h3>

<p align="justify">
Check that in each router the forwarding table computed by OSPF
correctly represents the shortest paths as calculated by Dijkstra's
algorithm with the given link costs.
</p>


<h3>Expected Results</h3>

<ul>
<li>After convergence of the forwarding table calculations, each
router should contain an entry for every network in the area.
(Internal to the area, the routes are not aggregated.)  For each
destination network, the router's forwarding table points to the next
hop IP address, cost, outgoing interface ID (in this router) and
network number.</li>

<li>For any pair of valid IP addresses, the source to destination
route should follow the shortest path.  (In this test all link costs
are equal to 1.)</li>
</ul>


<h3>Files</h3>

<p>
Configuration file: <a href="fwdtable1.dml"><code>fwdtable1.dml</code></a><br>
Raw output: <a href="fwdtable1-raw.out"><code>fwdtable1-raw.out</code></a>
</p>

<h3>Analysis</h3>

<p align="justify">
The forwarding tables in file <a
href="fwdtable1-raw.out">fwdtable1-raw.out</a> should be interpreted
using the IP address allocation automatically computed for the tested
network according to the CIDR attribute directives.  The
correspondence between IP addresses and NHI addresses of network
components used in the configuration database <a
href="fwdtable1.dml">fwdtable1.dml</a> can be best seen by comparing
the <a href="../single-single.html#topology">network topology
diagram</a> to the <a href="../single-single.html#allocation">address
allocation list</a>.

<p>
Each forwarding table entry is printed on a single line.  For example,
one of the entries in the forwarding table at router <code>0:0</code>
looks like this:
</p>

<pre>
0:0.024  | 0.0.1.72/29       nxt=0:1(2) cost=4 adist=110 if=0:0(1) src=OSPF
</pre>

<p align="justify">
This line indicates that <code>0.0.1.72/29</code> is the address of
the destination network, <code>0:1(2)</code> is the NHI address of the
next hop, <code>4</code> is the cost, <code>110</code> is the
administrative distance, <code>0:0(1)</code> is the NHI address of the
local interface on which a packet with this destination must be
transmitted, and <code>OSPF</code> is the source of the table entry.
The <code>0:0.024&nbsp;&nbsp;|</code> is just a prefix string used to
help format and correctly sort the output for this test.
</p>

<p align="justify">
All forwarding tables appear in the test output file.  For router
<code>0:0</code>, the forwarding table entries are:
</p>

<font color="#ff0000">
<pre>
0:0.001  | 0.0.0.0/29        nxt=4(0) cost=6 adist=110 if=0:0(2) src=OSPF
0:0.002  | 0.0.0.8/29        nxt=4(0) cost=6 adist=110 if=0:0(2) src=OSPF
0:0.003  | 0.0.0.16/29       nxt=4(0) cost=6 adist=110 if=0:0(2) src=OSPF
0:0.004  | 0.0.0.32/29       nxt=4(0) cost=5 adist=110 if=0:0(2) src=OSPF
0:0.005  | 0.0.0.40/30       nxt=4(0) cost=6 adist=110 if=0:0(2) src=OSPF
0:0.006  | 0.0.0.64/29       nxt=4(0) cost=4 adist=110 if=0:0(2) src=OSPF
0:0.007  | 0.0.0.72/30       nxt=4(0) cost=5 adist=110 if=0:0(2) src=OSPF
0:0.008  | 0.0.0.76/30       nxt=4(0) cost=4 adist=110 if=0:0(2) src=OSPF
0:0.009  | 0.0.0.128/29      nxt=4(0) cost=5 adist=110 if=0:0(2) src=OSPF
0:0.010  | 0.0.0.136/29      nxt=4(0) cost=4 adist=110 if=0:0(2) src=OSPF
0:0.011  | 0.0.0.144/30      nxt=4(0) cost=5 adist=110 if=0:0(2) src=OSPF
0:0.012  | 0.0.0.148/30      nxt=4(0) cost=4 adist=110 if=0:0(2) src=OSPF
0:0.013  | 0.0.0.152/30      nxt=4(0) cost=4 adist=110 if=0:0(2) src=OSPF
0:0.014  | 0.0.0.156/30      nxt=4(0) cost=3 adist=110 if=0:0(2) src=OSPF
0:0.015  | 0.0.0.192/30      nxt=4(0) cost=2 adist=110 if=0:0(2) src=OSPF
0:0.016  | 0.0.0.196/30      nxt=4(0) cost=2 adist=110 if=0:0(2) src=OSPF
0:0.017  | 0.0.1.0/29        nxt=0:1(2) cost=5 adist=110 if=0:0(1) src=OSPF
0:0.018  | 0.0.1.8/29        nxt=0:1(2) cost=5 adist=110 if=0:0(1) src=OSPF
0:0.019  | 0.0.1.32/29       nxt=0:1(2) cost=5 adist=110 if=0:0(1) src=OSPF
0:0.020  | 0.0.1.40/30       nxt=0:1(2) cost=5 adist=110 if=0:0(1) src=OSPF
0:0.021  | 0.0.1.44/30       nxt=0:1(2) cost=5 adist=110 if=0:0(1) src=OSPF
0:0.022  | 0.0.1.48/30       nxt=0:1(2) cost=5 adist=110 if=0:0(1) src=OSPF
0:0.023  | 0.0.1.64/29       nxt=0:1(2) cost=4 adist=110 if=0:0(1) src=OSPF
0:0.024  | 0.0.1.72/29       nxt=0:1(2) cost=4 adist=110 if=0:0(1) src=OSPF
0:0.025  | 0.0.1.80/30       nxt=0:1(2) cost=3 adist=110 if=0:0(1) src=OSPF
0:0.026  | 0.0.1.84/30       nxt=0:1(2) cost=3 adist=110 if=0:0(1) src=OSPF
0:0.027  | 0.0.1.88/30       nxt=0:1(2) cost=4 adist=110 if=0:0(1) src=OSPF
0:0.028  | 1:5(0)            nxt=0:2(2) cost=4 adist=110 if=0:0(0) src=OSPF
0:0.029  | 1:4(0)            nxt=0:2(2) cost=4 adist=110 if=0:0(0) src=OSPF
0:0.030  | 1:3(0)            nxt=0:2(2) cost=3 adist=110 if=0:0(0) src=OSPF
0:0.031  | 1:2(0)            nxt=0:2(2) cost=3 adist=110 if=0:0(0) src=OSPF
0:0.032  | 0.0.1.160/30      nxt=0:2(2) cost=4 adist=110 if=0:0(0) src=OSPF
0:0.033  | 0.0.1.192/30      nxt=0:2(2) cost=3 adist=110 if=0:0(0) src=OSPF
0:0.034  | 0.0.1.196/30      nxt=0:1(2) cost=3 adist=110 if=0:0(1) src=OSPF
0:0.035  | 0.0.1.200/30      nxt=4(0) cost=2 adist=110 if=0:0(2) src=OSPF
0:0.036  | 0.0.1.200/30      nxt=none cost=1 adist=255 if=0:0(2) src=iface
0:0.037  | 0.0.1.204/30      nxt=0:2(2) cost=2 adist=110 if=0:0(0) src=OSPF
0:0.038  | 0.0.1.204/30      nxt=none cost=1 adist=255 if=0:0(0) src=iface
0:0.039  | 0.0.1.208/30      nxt=0:2(2) cost=2 adist=110 if=0:0(0) src=OSPF
0:0.040  | 0.0.1.212/30      nxt=0:1(2) cost=2 adist=110 if=0:0(1) src=OSPF
0:0.041  | 0.0.1.212/30      nxt=none cost=1 adist=255 if=0:0(1) src=iface
0:0.042  | 0.0.1.224/30      nxt=0:1(2) cost=3 adist=110 if=0:0(1) src=OSPF
</pre>
</font>

<h3>Results</h3>

<p align="justify">
Manual analysis shows that the forwarding tables' entries include all
networks that are to be identified by sOSPF, and provide the shortest
paths for the test topology.  A forwarding table computed in this
version of OSPF contains entries for (1) all stub networks in the
area, (2) all hosts attached directly to OSPF routers, (3) summary
networks received from external ASes, and (4) all point-to-point
networks in the area.
</p>
  

<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

</body>
</html>
